home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Source / MacTech® Magazine / Volume 12 - 1996 / 12.11 Nov 96 / DebuggingStarter Code / DebugTraps.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-09-05  |  4.9 KB  |  134 lines  |  [TEXT/CWIE]

  1.  
  2. #pragma once
  3.  
  4. #if ! DEBUG
  5. // debug traps should not compile into a non-DEBUG version
  6.     #undef USE_DEBUG_TRAPS
  7.     #define USE_DEBUG_TRAPS    0
  8. #endif
  9.  
  10.  
  11. #if USE_DEBUG_TRAPS    // [
  12.  
  13. #ifdef __cplusplus
  14. extern "C" {
  15. #endif
  16.  
  17.  
  18. /*________________________________________________________________________________
  19.     Note:
  20.     The __FILE__ directive can be used to record the file name in which  a memory
  21.     allocation is made. This information can be used by the DebugLeaks code.
  22.     __FILE__ generates a null-terminated C-string.
  23. ________________________________________________________________________________*/
  24.  
  25.  
  26. // _____________________________ Memory Manager _________________________________
  27.  
  28. #define BlockMove                DebugTraps_BlockMove
  29. #define BlockMoveData            DebugTraps_BlockMoveData
  30. #define NewPtr(sz)                DebugTraps_NewPtr( sz, __FILE__)
  31. #define NewPtrClear(sz)            DebugTraps_NewPtrClear( sz, __FILE__)
  32. #define NewPtrSys(sz)            DebugTraps_NewPtrSys( sz, __FILE__)
  33. #define NewPtrSysClear(sz)        DebugTraps_NewPtrSysClear( sz, __FILE__)
  34. #define GetPtrSize                DebugTraps_GetPtrSize
  35. #define SetPtrSize                DebugTraps_SetPtrSize
  36. #define PtrZone                    DebugTraps_PtrZone
  37. #define DisposePtr                DebugTraps_DisposePtr
  38. #define PtrToHand(s,d,z)        DebugTraps_PtrToHand( s, d, z, __FILE__)
  39. #define NewHandle(sz)            DebugTraps_NewHandle( sz, __FILE__)
  40. #define NewHandleClear(sz)        DebugTraps_NewHandleClear( sz, __FILE__)
  41. #define NewHandleSys(sz)        DebugTraps_NewHandleSys( sz, __FILE__)
  42. #define NewHandleSysClear(sz)    DebugTraps_NewHandleSysClear( sz, __FILE__)
  43. #define GetHandleSize            DebugTraps_GetHandleSize
  44. #define SetHandleSize            DebugTraps_SetHandleSize
  45. #define ReallocateHandle        DebugTraps_ReallocateHandle
  46. #define DisposeHandle            DebugTraps_DisposeHandle
  47. #define HLock                    DebugTraps_HLock
  48. #define HUnlock                    DebugTraps_HUnlock
  49. #define HGetState                DebugTraps_HGetState
  50. #define HSetState                DebugTraps_HSetState
  51. #define HandAndHand                DebugTraps_HandAndHand
  52. #define HandToHand(h)            DebugTraps_HandToHand( h, __FILE__)
  53. #define HPurge                    DebugTraps_HPurge
  54. #define HNoPurge                DebugTraps_HNoPurge
  55. #define EmptyHandle                DebugTraps_EmptyHandle
  56. #define HandleZone                DebugTraps_HandleZone
  57. #define RecoverHandle            DebugTraps_RecoverHandle
  58. #define RecoverHandleSys        DebugTraps_RecoverHandleSys
  59. #define SetZone                    DebugTraps_SetZone
  60. #define GetZone                    DebugTraps_GetZone
  61. #define TempNewHandle(sz, err)    DebugTraps_TempNewHandle( sz, err, __FILE__)
  62. #define TempDisposeHandle        DebugTraps_TempDisposeHandle
  63. #define MoveHHi                    DebugTraps_MoveHHi
  64. #define PtrAndHand                DebugTraps_PtrAndHand
  65.  
  66.  
  67. pascal void     DebugTraps_BlockMove(const void *srcPtr, void *destPtr, Size byteCount);
  68. pascal void     DebugTraps_BlockMoveData(const void *srcPtr, void *destPtr, Size byteCount);
  69.  
  70. pascal Ptr        DebugTraps_NewPtr(Size byteCount, const char *srcFileName);
  71. pascal Ptr        DebugTraps_NewPtrSys(Size byteCount, const char *srcFileName);
  72. pascal Ptr        DebugTraps_NewPtrClear(Size byteCount, const char *srcFileName);
  73. pascal Ptr        DebugTraps_NewPtrSysClear(Size byteCount, const char *srcFileName);
  74. pascal Size        DebugTraps_GetPtrSize(Ptr p);
  75. pascal void        DebugTraps_SetPtrSize(Ptr p, Size newSize);
  76. pascal THz        DebugTraps_PtrZone(Ptr p);
  77. pascal void        DebugTraps_DisposePtr(Ptr p);
  78.  
  79. pascal OSErr    DebugTraps_PtrToHand(const void *srcPtr, Handle *dstHndl, long size, const char *srcFileName);
  80. pascal Handle    DebugTraps_NewHandle(Size byteCount, const char *srcFileName);
  81. pascal Handle    DebugTraps_NewHandleClear(Size byteCount, const char *srcFileName);
  82. pascal Handle    DebugTraps_NewHandleSys(Size byteCount, const char *srcFileName);
  83. pascal Handle    DebugTraps_NewHandleSysClear(Size byteCount, const char *srcFileName);
  84. pascal Size     DebugTraps_GetHandleSize(Handle h );
  85. pascal void     DebugTraps_SetHandleSize(Handle h, Size newSize);
  86. pascal void        DebugTraps_ReallocateHandle(Handle h, Size byteCount);
  87. pascal void     DebugTraps_DisposeHandle(Handle h);
  88. pascal void     DebugTraps_HLock(Handle h);
  89. pascal void     DebugTraps_HUnlock(Handle h);
  90. pascal SInt8    DebugTraps_HGetState(Handle h);
  91. pascal void        DebugTraps_HSetState(Handle h, SInt8 flags);
  92. pascal OSErr     DebugTraps_HandAndHand(Handle hand1, Handle hand2);
  93. pascal OSErr    DebugTraps_HandToHand(Handle *theHndl, const char *srcFileName);
  94. pascal void        DebugTraps_HPurge(Handle h);
  95. pascal void        DebugTraps_HNoPurge(Handle h);
  96. pascal void        DebugTraps_EmptyHandle(Handle h);
  97. pascal THz        DebugTraps_HandleZone(Handle h);
  98. pascal Handle    DebugTraps_RecoverHandle(Ptr p);
  99. pascal Handle    DebugTraps_RecoverHandleSys(Ptr p);
  100. pascal void        DebugTraps_MoveHHi(Handle h);
  101. pascal OSErr    DebugTraps_PtrAndHand(const void *ptr1, Handle hand2, long size);
  102.  
  103. pascal void        DebugTraps_SetZone(THz hz);
  104. pascal THz        DebugTraps_GetZone(void);
  105.  
  106. pascal Handle    DebugTraps_TempNewHandle(Size logicalSize, OSErr *resultCode, const char *srcFileName);
  107. pascal void        DebugTraps_TempDisposeHandle( Handle h, OSErr *err);
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114. // _____________________________ Other Managers _________________________________
  115.  
  116.  
  117. #ifdef __cplusplus
  118. }
  119. #endif
  120.  
  121. #endif    // ]
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.